package com.ruoyi.rocky.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.rocky.domain.PcProduct;

import java.util.List;

/**
 * 产品Service接口
 * @date 2024-04-25
 */
public interface PcProductService {
    /**
     * 查询产品
     *
     * @param id 产品主键
     * @return 产品
     */
    PcProduct selectPcProductById(Long id);

    /**
     * 查询产品列表
     *
     * @param pcProduct 产品
     * @return 产品集合
     */
    List<PcProduct> selectPcProductList(PcProduct pcProduct);

    /**
     * 新增产品
     *
     * @param pcProduct 产品
     * @return 结果
     */
    R insertPcProduct(PcProduct pcProduct);

    /**
     * 修改产品
     *
     * @param pcProduct 产品
     * @return 结果
     */
    R updatePcProduct(PcProduct pcProduct);

    /**
     * 上架商品
     * @param pcProduct
     * @return
     */
    R onlineProduct(PcProduct pcProduct);

    /** 下架商品
     * @param pcProduct
     * @return
     */
    R offlineProduct(PcProduct pcProduct);

    /**
     * 批量删除产品
     *
     * @param ids 需要删除的产品主键集合
     * @return 结果
     */
    R deletePcProductByIds(Long[] ids);

    /**
     * 删除产品信息
     *
     * @param id 产品主键
     * @return 结果
     */
    R deletePcProductById(Long id);
}

